/*
 * GraphQL枚举类型 - 惯用手枚举GraphQL类型
 * 
 * 主要功能：
 * - 为Handedness枚举定义GraphQL类型
 * - 支持GraphQL查询中的枚举值
 * - 提供类型安全的GraphQL接口
 * - 实现枚举值的序列化和反序列化
 */

using GraphQL.Types;
using Lombiq.TrainingDemo.Models;

namespace Lombiq.TrainingDemo.GraphQL.Services;

/// <summary>
/// 惯用手枚举GraphQL类型 - 为Handedness枚举定义GraphQL类型
/// 
/// 主要用途：
/// - 为Handedness枚举定义GraphQL类型
 /* - 支持GraphQL查询中的枚举值
 * - 提供类型安全的GraphQL接口
 * - 实现枚举值的序列化和反序列化
 */
///使用场景：
/// - 在GraphQL查询中使用惯用手枚举
/// - 为PersonPart提供GraphQL接口
/// - 支持枚举值的类型安全查询
/// - 实现GraphQL schema的枚举定义
/// 
/// 设计原因：
/// - 为自定义枚举提供GraphQL支持
/// - 实现类型安全的GraphQL查询
/// - 提供统一的枚举类型定义
/// - 支持GraphQL schema的扩展
/// 
/// 设计模式：
/// - 继承模式：继承EnumerationGraphType<T>实现枚举类型
/// - 泛型模式：使用泛型参数指定枚举类型
/// - 类型安全模式：提供编译时类型检查
/// </summary>
public class HandednessEnumerationGraphType : EnumerationGraphType<Handedness> { }
